/*
 * @Description: 权限相关接口
 * @Author: Rfan
 * @Date: 2022-04-14 18:41:31
 * @LastEditTime: 2022-04-27 10:59:44
 */

import request, { configRequest } from '@/utils/request';

/**
 * 功能权限相关接口
 */

// 查询功能权限列表
export function fetchFunctionalRightsList(data) {
  return configRequest({
    url: `sys-function-rights/list`,
    method: 'post',
    data
  });
}

// 添加功能权限
export function createFunctionalRights(data) {
  return configRequest({
    url: `sys-function-rights/`,
    method: 'post',
    data
  });
}

// 编辑功能权限

export function editFunctionalRights(data) {
  return configRequest({
    url: `sys-function-rights/`,
    method: 'put',
    data
  });
}

// 删除功能权限
export function deleteFunctionalRights(id) {
  return configRequest({
    url: `sys-function-rights/${id}`,
    method: 'delete'
  });
}

// ----------------------------------------------------------------
/**
 * 知悉范围相关接口
 */
// 查询知悉范围列表
export function fetchScopeOfKonwledgeList(data) {
  return configRequest({
    url: `r-data-scope/list`,
    method: 'post',
    data
  });
}

// 分页查询知悉范围列表
export function fetchScopeOfKonwledgeListByPage(data) {
  return configRequest({
    url: `r-data-scope/page`,
    method: 'post',
    data
  });
}

// 添加知悉范围
export function createScopeOfKonwledge(data) {
  return configRequest({
    url: `r-data-scope/`,
    method: 'post',
    data
  });
}

// 删除知悉范围
export function deleteScopeOfKonwledge(id) {
  return configRequest({
    url: `r-data-scope/${id}`,
    method: 'delete'
  });
}

// ----------------------------------------------------------------
/**
 * 利用权限规则相关接口 -- 普通用户
 */
// 查询规则列表
export function fetchNormalRightRuleListByPage(data) {
  return configRequest({
    url: `r-rule-rights-normal/page`,
    method: 'post',
    data
  });
}

// 添加利用权限规则
export function createNormalRightRule(data) {
  return configRequest({
    url: `r-rule-rights-normal/`,
    method: 'post',
    data
  });
}

// 删除利用权限规则
export function deleteNormalRightRule(id) {
  return configRequest({
    url: `r-rule-rights-normal/${id}`,
    method: 'delete'
  });
}

// 根据规则ID查询包含用户、部门
export function fetchNormalRuleUser(ruleId) {
  return configRequest({
    url: `r-rule-rights-normal-user/list/${ruleId}`,
    method: 'get'
  });
}

// 添加某条规则下的用户、部门
export function addNormalRuleUser(data) {
  return configRequest({
    url: `r-rule-rights-normal-user/rule-rights`,
    method: 'post',
    data
  });
}

// 查询某个用户、部门权限
export function fetchNormalUserRights(entryId) {
  return configRequest({
    url: `r-rule-rights-normal-user/operate-rights/${entryId}`,
    method: 'get'
  });
}

// 保存用户、部门规则权限
export function saveNormalUserRights(data) {
  return configRequest({
    url: `r-rule-rights-normal-user/operate-rights`,
    method: 'post',
    data
  });
}

// 删除用户、部门规则权限
export function deleteNormalRuleUser(ids) {
  return configRequest({
    url: `r-rule-rights-normal-user/${ids}`,
    method: 'delete'
  });
}

// ----------------------------------------------------------------
/**
 * 管理权限规则相关接口 -- 管理员
 */
// 查询规则列表
export function fetchManageRightRuleListByPage(data) {
  return configRequest({
    url: `r-rule-rights-manager/page`,
    method: 'post',
    data
  });
}

// 添加利用权限规则
export function createManageRightRule(data) {
  return configRequest({
    url: `r-rule-rights-manager/`,
    method: 'post',
    data
  });
}

// 删除利用权限规则
export function deleteManageRightRule(id) {
  return configRequest({
    url: `r-rule-rights-manager/${id}`,
    method: 'delete'
  });
}

// 根据规则ID查询包含用户、部门
export function fetchManageRuleUser(ruleId) {
  return configRequest({
    url: `r-rule-rights-manager-user/list/${ruleId}`,
    method: 'get'
  });
}

// 添加某条规则下的用户、部门
export function addManageRuleUser(data) {
  return configRequest({
    url: `r-rule-rights-manager-user/rule-rights`,
    method: 'post',
    data
  });
}

// 查询某个用户、部门权限
export function fetchManageUserRights(entryId) {
  return configRequest({
    url: `r-rule-rights-manager-user/operate-rights/${entryId}`,
    method: 'get'
  });
}

// 保存用户、部门规则权限
export function saveManageUserRights(data) {
  return configRequest({
    url: `r-rule-rights-manager-user/operate-rights`,
    method: 'post',
    data
  });
}

// 删除用户、部门规则权限
export function deleteManageRuleUser(ids) {
  return configRequest({
    url: `r-rule-rights-manager-user/${ids}`,
    method: 'delete'
  });
}

// ----------------------------------------------------------------
/**
 * @description: 默认操作权限
 */
// 通过档案类型id查询
export function fetchDefaultRightsById(archiveTypeId) {
  return configRequest({
    url: `/r-default-operate-rights/list/${archiveTypeId}`,
    method: 'get'
  });
}

// 新增默认操作权限
export function addDefaultRights(data) {
  return configRequest({
    url: `/r-default-operate-rights/`,
    method: 'post',
    data
  });
}

// 编辑默认操作权限
export function editDefaultRights(data) {
  return configRequest({
    url: `/r-default-operate-rights/`,
    method: 'put',
    data
  });
}
